package com.explorati.LeetCode013.romanToInt;

/**
 * @ Author : Weijian_Wang
 * @ Date : Created in 14:31 2020/9/20 0020
 * @ Description ：
 */
public class Solution1 {
    public int romanToInt(String s) {
        //如果前一位比后一位小，则做减法
        //否则都是加法
        int res = 0;
        int preNum = getValue(s.charAt(0));
        for(int i = 1; i < s.length(); i ++) {
            int curNum = getValue(s.charAt(i));
            if(preNum < curNum) {
                res -= preNum;
            }else {
                res += preNum;
            }
            preNum = curNum;
        }
        return res + preNum;
    }

    private int getValue(char ch){
        switch(ch) {
            case 'I' : return 1;
            case 'V' : return 5;
            case 'X' : return 10;
            case 'L' : return 50;
            case 'C' : return 100;
            case 'D' : return 500;
            case 'M' : return 1000;
            default : return 0;
        }
    }
}
